/************************************************************************************
 *                                                                                  *
 *                                                                                  *
 ************************************************************************************/
package jMiiEditor.mii;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * @author CC
 *
 */
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
public @interface MIIGETTER 
{
    /** Getter/Setter type */
    public static enum Type { BOOL, RAWSTRING, INT, BYTES4 };

    /** Datas type */
    Type type();

    /**
     * Type.INT, Type.BYTES4 : min value for int or byte 
     * (for array, this is arrays entries min values) 
     */
    int minValue() default -1;

    /**
     * Type.INT, Type.BYTES4 : max value for int or byte 
     * (for array, this is arrays entries max values) 
     */
    int maxValue() default -1;

    /** 
     * Type.INT, Type.BYTES4 : default value for int or 
     * byte (for array, this is arrays entries default values)
     */
    int defaultValue() default -1;
    
    /** 
     * Typically for unknown fields
     */
    String comment() default "";
}
